package org.example.back.mapper.user;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.example.back.entity.user.UserSleep;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;

@Mapper
public interface UserSleepMapper {

    // 插入睡眠记录
    void insertUserSleep(UserSleep userSleep);

    // 查询某一天的睡眠记录
    UserSleep findUserSleepByDate(@Param("userId") Integer userId, @Param("sleepDate") LocalDate sleepDate);

    // 查询最近7天（按天）
    List<UserSleep> findUserSleepLastWeek(@Param("userId") Integer userId);

    // 查询最近一个月（按周聚合）
    List<Map<String, Object>> findUserSleepByWeekInMonth(@Param("userId") Integer userId);

}
